The present invention relates to data processing by digital computer, and more particularly to certifying performance of hypertext transfer protocol (HTTP) content servers.
A content server is a server system that stores and retrieves content, or documents and information, for client systems. Content servers can be used for short term storage of files as well as long term archiving of files on media such as optical storage systems.
HTTP is a set of rules for transferring files such as text, graphic images, sound, video, and other multimedia files on the Internet. A web browser is an HTTP client that sends requests either to download or upload information to server systems using a network protocol such as Transmission Control Protocol/Internet Protocol (TCP/IP). For web browsing, a user downloads files for viewing information and uploads information, for example, to register an identity or purchase services or products on the Internet.
A URL (Uniform Resource Locator) is the unique address for a file that is accessible on the Internet. A common way to access a Web site is to enter the URL of its home page file in a user's web browser's address line. However, any file within that Web site can also be specified with a URL. Such a file might be any web page other than the home page, an image file, or a program such as a common gateway interface application or Java applet. The URL contains the name of the protocol to be used to access the file resource, a domain name that identifies a specific computer on the Internet, and a pathname, a hierarchical description that specifies the location of a file in that computer.
When a user of the web browser enters a request to download a file by typing in a URL specifying the Internet Protocol (IP) address of the server system, the web browser builds an HTTP “GET” request and sends it to the IP address indicated by the URL. An HTTP daemon on the server system receives the request and sends back the requested file or files associated with the request. When the user of the browser desires to upload information to the server system, the web browser receives the information from the user and sends a HTTP “PUT” or HTTP “POST” request to the server system with the information. The server system then receives and stores the information.
HTTP content servers also use HTTP for receiving and sending information to client systems. Advantages of using HTTP for content servers include that HTTP is a consistent and simple communications infrastructure designed for accessibility over the world wide web. In one example, a HTTP content server can be used to store, archive, and retrieve documents for business applications in coordination with business software designed to facilitate and automate business processes. Storing documents indicates recording the documents on non-permanent storage such as a computer hard drive. Archiving documents implies packaging the documents for backup, to transport to some other location, for saving away from the computer so that more hard disk storage can be made available, or for some other purpose. An archive can include a simple list of files or files organized under a directory or catalog structure (depending on how a particular program supports archiving). Archived documents can be stored on permanent storage such as optical drives. Examples of optical drives include Write Once, Read Many (WORM) drives, Magneto-Optical (MO) drives, and Digital Versatile Disc (DVD) drives.
Storing and archiving these business process documents is necessary for at least the following reasons: (1) internal standards for reviewing processes; (2) administration of mass data; (3) legal regulations, for example, the “duty of storage” in the German Commercial Code (HGB); and (4) optimization of business processes (e.g., multiple users in the process need access to the same documents).
In this example, one vendor can provide the HTTP content server while another vendor provides the business software. The vendors providing the HTTP content servers conform to a standard interface to HTTP content servers provided by the business software vendor. This two-vendor example generates a situation where performance of the business software, as viewed by customers, is dependent on the performance of the HTTP content server. The customers can have a high volume of documents each day to store and archive using the content server. These documents can include a high number of smaller documents and a lower number of very large documents. Thus, it is important to ensure that the two-vendor example can handle varying demand. Accordingly, there is a need for certifying a performance of the HTTP content server using a variety of benchmarking standards so that the business software vendor has a reasonable expectation that the two-vendor system will perform according to a given customer's expectations.